package com.tfjybj.itoo.exam.provider.service;

import com.dmsdbj.itoo.tool.base.service.BaseServicePlus;
import com.dmsdbj.itoo.tool.redis.CacheExpire;
import com.github.pagehelper.PageInfo;
import com.tfjybj.itoo.exam.entity.QuestionTypeEntity;
import com.tfjybj.itoo.exam.model.EvaluationTypeModel;
import com.tfjybj.itoo.exam.model.QuestionTypeIdModel;
import com.tfjybj.itoo.exam.model.QuestionTypeModel;


import java.util.List;


/**
 * QuestionTypeService接口
 * questionType表
 *
 * @author 郭凯
 * @version 2.0.0
 * @since 2.0.0 2018-11-21 21:10:06
 */
public interface QuestionTypeService extends BaseServicePlus<QuestionTypeEntity> {

    //region 模板生成：模糊查询

    /**
     * 根据题型名称模糊查询questionType
     *
     * @param questionTypeName 题型名称
     * @param pageNo           页码
     * @param pageSize         页数
     * @return 模糊查询的questionType
     * @author 李青松
     * @since 2.0.0 2018-11-01 08:55:53
     */
    PageInfo<QuestionTypeEntity> queryByLikeQuestionTypeName(String questionTypeName, Integer pageNo, Integer pageSize);
    //endregion

    /* **********************************以下为非模板生成的内容********************************* */

    /**
     * 查询所有题型信息
     *
     * @return 所有题型信息/给前端用的
     * @author 樊建华  杨晓慧（查询所有题型加缓存处理）
     * @since 2018年11月22日08:55:15
     */

//    List<QuestionTypeEntity> selectByExample();
    List<QuestionTypeModel> queryAllQuestionType();

    List<EvaluationTypeModel> queryEvaluationAllQuestionType();

    String queryByCode(String code);

    /**
     * 课程练习-根据课程id查询题型
     *
     * @param courseId
     * @return 是否查询成功
     * @author 贾建清
     * @since 2.0.0 2019年3月24日10:37:00
     */
    List<QuestionTypeIdModel> queryQuestionType(String courseId);
}
